package com.xyy.saas.payment.merchant.core.vo;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;

/**
 * @Author: wuqiongda
 * @Date: 2020/4/10 9:53
 */
public class PersonalAccountVo implements Serializable {


    private static final long serialVersionUID = 3973424300158648932L;

	/** 个人身份证正面 个人必填 图片BASE64 编码，编码后的大小不能超过 500k，具体视场景而定（注意：请删除开头的：data:image/{{PIC_FMT}};base64, 字符串之后再提交 */
    @NotEmpty(message = "个人身份证正面不能为空")
    private String personalIdCardFrontUrl;

	/** 个人身份证背面 个人必填 图片BASE64 编码，编码后的大小不能超过 500k，具体视场景而定（注意：请删除开头的：data:image/{{PIC_FMT}};base64, 字符串之后再提交\n */
    @NotEmpty(message = "个人身份证背面不能为空")
    private String personalIdCardBackUrl;

	/** 图片格式。 可选：png、jpg */
    @NotEmpty(message = "图片格式不能为空")
    private String picFmt;

	/** 账户渠道选择 目前仅支持aggregate */
    @NotEmpty(message = "账户渠道选择不能为空")
    private String accountChannel;

	/** 姓名 */
    @NotEmpty(message = "姓名不能为空")
    private String name;

	/** 手机号 */
    @NotEmpty(message = "手机号不能为空")
    private String mobile;

	/** 证件类型 */
    @NotEmpty(message = "证件类型不能为空")
    private String certType;

	/** 身份证号 */
    @NotEmpty(message = "身份证号不能为空")
    private String cardId;

	/** 身份证起始日期 格式：yyyy-mm-dd */
    @NotEmpty(message = "身份证起始日期不能为空")
    private String validFrom;

	/** 身份证结束日期，格式：yyyy-mm-dd。如长期有效，请上送9999-12-31 */
    @NotEmpty(message = "身份证结束日期不能为空")
    private String validUntil;

	/** 职业 */
    @NotEmpty(message = "职业不能为空")
    private String profession;

	/** 接口调用方的业务类型, 支付平台分配 */
    @NotEmpty(message = "支付单号不能为空")
    private String businessIdType;

	/** 身份证地址 */
    @NotEmpty(message = "身份证地址不能为空")
    private String address;

	/** 用户性别 */
    @NotEmpty(message = "用户性别不能为空")
    private String genderEnum;

	/** 接收者银行账号/卡号 */
    @NotEmpty(message = "接收者银行账号/卡号不能为空")
    private String account;

	/** 收款者银行开户名 */
    @NotEmpty(message = "收款者银行开户名不能为空")
    private String settleName;

	/** 银行卡预留手机号 */
    @NotEmpty(message = "银行卡预留手机号不能为空")
    private String settleMobile;

	/** 银行名称(无需填写到支行) */
    @NotEmpty(message = "银行名称不能为空")
    private String openBank;

	/** 银行卡号类型 */
   @NotEmpty(message = "银行卡号类型不能为空")
    private String cardType;

	/** 开户行名称 */
    @NotEmpty(message = "开户行名称不能为空")
    private String subBank;

	/** 开户行行号 */
    @NotEmpty(message = "开户行行号不能为空")
    private String subBankCode;

	/** token */
    @NotEmpty(message = "token")
    private String token;

	/** 结算用户创建成功通知地址 */
    @NotEmpty(message = "结算用户创建成功通知地址不能为空")
    private String callbackAddress;

    public PersonalAccountVo(){
        super();
    };

    public String getPicFmt() {
        return picFmt;
    }

    public void setPicFmt(String picFmt) {
        this.picFmt = picFmt;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getValidFrom() {
        return validFrom;
    }

    public void setValidFrom(String validFrom) {
        this.validFrom = validFrom;
    }

    public String getValidUntil() {
        return validUntil;
    }

    public void setValidUntil(String validUntil) {
        this.validUntil = validUntil;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getSettleName() {
        return settleName;
    }

    public void setSettleName(String settleName) {
        this.settleName = settleName;
    }

    public String getSettleMobile() {
        return settleMobile;
    }

    public void setSettleMobile(String settleMobile) {
        this.settleMobile = settleMobile;
    }

    public String getOpenBank() {
        return openBank;
    }

    public void setOpenBank(String openBank) {
        this.openBank = openBank;
    }

    public String getSubBank() {
        return subBank;
    }

    public void setSubBank(String subBank) {
        this.subBank = subBank;
    }

    public String getSubBankCode() {
        return subBankCode;
    }

    public void setSubBankCode(String subBankCode) {
        this.subBankCode = subBankCode;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getAccountChannel() {
        return accountChannel;
    }

    public void setAccountChannel(String accountChannel) {
        this.accountChannel = accountChannel;
    }

    public String getProfession() {
        return profession;
    }

    public void setProfession(String profession) {
        this.profession = profession;
    }

    public String getBusinessIdType() {
        return businessIdType;
    }

    public void setBusinessIdType(String businessIdType) {
        this.businessIdType = businessIdType;
    }

    public String getGenderEnum() {
        return genderEnum;
    }

    public void setGenderEnum(String genderEnum) {
        this.genderEnum = genderEnum;
    }

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getPersonalIdCardFrontUrl() {
        return personalIdCardFrontUrl;
    }

    public void setPersonalIdCardFrontUrl(String personalIdCardFrontUrl) {
        this.personalIdCardFrontUrl = personalIdCardFrontUrl;
    }

    public String getPersonalIdCardBackUrl() {
        return personalIdCardBackUrl;
    }

    public void setPersonalIdCardBackUrl(String personalIdCardBackUrl) {
        this.personalIdCardBackUrl = personalIdCardBackUrl;
    }

    public String getCertType() {
        return certType;
    }

    public void setCertType(String certType) {
        this.certType = certType;
    }

    public String getCallbackAddress() {
        return callbackAddress;
    }

    public void setCallbackAddress(String callbackAddress) {
        this.callbackAddress = callbackAddress;
    }
}
